import { http } from '../utils/request.js'

// 招聘相关接口
export const jobApi = {
  // 获取招聘信息列表
  getListToApp(data) {
    return http.post('/getListToApp', data)
  },

  // 根据招聘id获取招聘信息
  getHireRecruitUseById(hireRecruitUseId) {
    return http.get(`/getHireRecruitUseById/${hireRecruitUseId}`)
  },

  // 根据地区获取招聘ids
  getAreaCount(data) {
    return http.post('/getAreaCount', data)
  },

  // 获取所有岗位
  getAllPosition() {
    return http.get('/allPosition')
  }
}

// 报名相关接口
export const applicationApi = {
  // 创建报名数据
  createLaborSignup(data) {
    return http.post('/createLaborSignup', data)
  },

  // 根据身份证信息获取报名数据
  getLaborSignupByIdCard(data) {
    return http.post('/getLaborSignupByIdCard', data)
  }
}

// 用户相关接口
export const userApi = {
  // 根据openId获取用户信息
  getUserInfo(openId) {
    return http.get(`/getUserInfo/${openId}`)
  },

  // 创建用户实名信息
  createAppUser(data) {
    return http.post('/createAppUser', data)
  },

  // 更新用户简历信息
  updateAppUser(id, data) {
    return http.put(`/updateAppUser/${id}`, data)
  },

  // 解除实名信息
  deleteAppUser(id) {
    return http.delete(`/deleteAppUser/${id}`)
  },

  // 关注或者取关
  follow(data) {
    return http.post('/follow', data)
  }
}

// 验证相关接口
export const verifyApi = {
  // 解析身份证信息
  ocrIdCard(type, file) {
    const formData = new FormData()
    formData.append('file', file)
    return http.post(`/ocrIdCard/${type}`, formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  // 发送验证码
  sendVerifyCode(phone) {
    return http.post('/sendVerifyCode', { phone })
  }
}

// 上传相关接口
export const uploadApi = {
  // 上传头像
  uploadAvatar(openId, file) {
    const formData = new FormData()
    formData.append('file', file)
    return http.post(`/upLoadFile/${openId}`, formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  }
}

// 系统相关接口
export const systemApi = {
  // 根据数据字典类型获取数据字典
  getListByTypeDataCode(typeCode) {
    return http.get(`/getListByTypeDataCode/${typeCode}`)
  },

  // 获取所有省市列表
  getAllProByMapList() {
    return http.get('/getAllProByMapList')
  }
} 